package go_limit

import "fmt"

// 设置最大的并发数
var maxOccurs = 2

type GoLimit struct {
	ch chan int
}

func NewGoLimit(max int) *GoLimit {
	return &GoLimit{ch: make(chan int, max)}
}

func (g *GoLimit) Add() {
	g.ch <- 1
}

func (g *GoLimit) Done() {
	<-g.ch
	fmt.Println(fmt.Sprintf("📢并发通道数：（%v/%v）\n", len(g.ch), maxOccurs))
}
